1. Field of the Invention
The present invention relates to a network communication system, and more particularly to a communication quality control system positioned on an existent data network over a datagram transfer network.
2. Description of the Related Art
In the conventional communication network, for example, in a LAN (Local Area Network), a datagram is transferred according to the upper layer protocol IP and further upper layer protocol TCP, based on the physical transfer technique such as Ethernet, ATM, or the like.
Also, in The Internet connecting IP subnets of LAN, various physical transfer methods including the above-mentioned Ethernet and ATM are considered and installed on systems.
In such a network, a system of relaying or transferring a datagram for assuring End-to-End communication, that is, a connection, which system is positioned within a communication network, is designed to realize a transfer function so that every system should satisfy the communication quality previously specified on a physical transfer layer of End-to-End protocol, in order to assure the End-to-End transfer quality.
In such an existent communication network, importance is attached especially to the layer 3 transfer such as IP, and a lot of systems, which are called routers, capable of transferring the IP layer chiefly are disposed within a network.
In such a router, the IP of the layer 3 is terminated, and a datagram is transferred, according to the destination IP address derived from the datagram, by deciding a path to which the datagram is transferred, from path information previously stored into the same system. At this time, in the processing of a physical layer to which the datagram is transferred, a path which is easily derived from the path information is selected and the datagram is transferred from the interface.
A network server capable of assuring communication quality in every application and transferring data between different subnets without using a router is disclosed in Japanese Patent Publication Laid-Open (Kokai) No. Heisei 9-116560.
In the above mentioned conventional router, it is impossible to determine the optimum communication quality according to connection quality depending on communication attributes of a datagram in transferring the datagram. This is why, a path to which a datagram is transferred is decided from path information previously stored into the same system, according to the destination IP address derived from the datagram, hence to transfer the datagram.
More specifically, there are the following problems.
First, it is impossible to transfer a datagram in the optimum communication quality in correspondence with the communication attributes such as a moving image, a voice, and an image.
Secondly, when providing some communication quality to a traffic used by a specified user or group, the user or group cannot be specified without using destination address and source address of an IP address.
Thirdly, it is impossible to ask an account depending on the quality of a connection determined by communication attributes.
Fourthly, since it is impossible to judge whether a datagram includes very important information on security or not, any datagram is transferred in the even communication quality, however it may include important information on security; therefore, it is impossible to realize datagram transfer depending on the security quality.
Fifthly, it is impossible to determine connection quality in accordance with the novelty of a datagram.
Sixthly, it is impossible to dynamically change the communication quality of a connection which is defined in a transport layer, while judging the state of the connection.
A first object of the present invention is to provide a communication quality control system capable of transferring a datagram in the optimum communication quality suitable for the derived communication attributes, as a result of deriving attributes of the datagram communication, while realizing high-speed datagram transfer of the layer 3 and beneath.
A second object of the present invention is to provide a communication quality control system capable of realizing various advanced communication services for a user previously registered, and demanding an account depending on communication quality.
A third object of the present invention is to provide a communication quality control system capable of judging whether a datagram includes very important data on security or not and realizing data transfer according to the security quality corresponding to the datagram.
A fourth object of the present invention is to provide a communication quality control system capable of transferring a datagram in the optimum communication quality, by determining the quality of a connection while judging the novelty of a datagram and by determining the connection quality based on not only the information recognized in the same connection but also the information recognized in the other connection.
According to one aspect of the invention, a communication quality control system for realizing an optimum datagram transfer function for connection quality corresponding to attributes of communication, comprises
network end systems for respectively terminating a protocol layer of an existent data network,
protocol end systems for respectively terminating the protocol layer 3 and beneath based on quality of communication of a received datagram, and
a communication datagram transfer system for transferring the datagram to a specified end system according to quality information of a connection corresponding to communication attributes of the protocol layer 3 and beneath and communication attributes derived from the information on the respective protocol layers 4, 5, 6, and 7 or one of them included in a datagram received by an arbitrary end system,
the communication datagram transfer system comprising
attribute detecting means of checking identifying information included in the information of the protocol layer 3 and beneath of a datagram received by some end system and simultaneously checking identifying information included in the information of the respective protocol layers 4, 5, 6, and 7 or one of them, hence to take out the communication attribute information of the respective protocol layers, and
communication quality deciding means for, when a datagram is received by a protocol end system, deciding communication quality for sending the datagram according to a set of the communication attribute information of the respective protocol layers derived from the datagram and the quality information of a connection, and notifying the communication quality to the protocol end system.
In the preferred construction, the attribute detecting means identifies the layer information, from the received datagram, as well as the state of a connection from the connection identifying information of a datagram, so to supply the result to the communication quality deciding means as connection information, and decides a transfer path of the datagram, so to supply the transfer path to the communication quality deciding means as destination path information: and the communication quality deciding means decides quality information of a connection corresponding to the attribute information and decides communication quality for sending a datagram according to the connection information, the quality information of the connection, and the destination path information, and takes out attribute information of communication according to the layer information and one or all of the datagram when it is judged that attributes of the layer 4 and upper need to be detected from the identified state of a connection.
In another preferred construction, the attribute detecting means identifies the layer information, from the received datagram, as well as the state of a connection from the connection identifying information of a datagram, so to supply the result to the communication quality deciding means as connection information, and decides a transfer path of the datagram, so to supply the transfer path to the communication quality deciding means as destination path information,
the communication quality deciding means decides quality information of a connection corresponding to the attribute information and decides communication quality for sending a datagram according to the connection information, the quality information of the connection, and the destination path information,
the communication datagram transfer system includes a connection/communication quality table in which a set of connection information and communication quality is registered, and
the communication quality deciding means judges whether the datagram needs to be controlled by the connection-communication quality table when receiving the connection information and the destination path information, or the connection quality information, checks the presence of the same connection in the connection/communication quality table when the datagram needs to be controlled, and when there is the same connection, the means decides communication quality referring to the connection/communication quality table, while when there is not, the means decides communication quality, according to the connection information, the quality information of a connection, and the destination path information, and stores a set of the connection information and the communication quality into the connection/communication quality table, and decides communication quality according to the connection information and the destination path information when the datagram doesn""t need to be controlled.
In another preferred construction, a database for storing the connection quality information corresponding to the attribute information is provided, the communication quality deciding means decides the connection quality information, according to the attribute information, referring to the database.
In another preferred construction, assuming that the layer 3 is an IP, the layer 4 is a TCP, and the layer 5 is an HTTP,
the attribute detecting means checks protocol number of the IP header of the datagram, or the same protocol number and port address within the TCP protocol header of the datagram, or header value next to the IP header of the datagram, or the next header value and port address of the TCP protocol header of the datagram, and knowing that the layer 5 is the HTTP, checks one or some identifying information included in the TCP header, or the TCP header and an HTTP message of the received datagram, and when the datagram is transferred to a protocol end system, the communication quality deciding means decides quality of a connection of the layer 3 and beneath suitable for a connection derived from the datagram and performs datagram transfer processing based on the quality of the connection, hence to change the connection quality of a datagram to be transferred, so to do a transfer control.
In the above-mentioned construction, the attribute detecting means checks at least one of the following items: the media attribute of the datagram, from the Content type included in the HTTP header of a received datagram; E-mail address of a user who sent a datagram, from the From field included in the HTTP header; a user program name and the Version in which the datagram was created, from the User-Agent included in the HTTP header; and a server software name and the Version in which the datagram was created, from the Server included in the HTTP header, as the identifying information.
In the above-mentioned construction, the attribute detecting means checks at least one of the following items: the created date of the datagram, from the Date included in the HTTP header of a received datagram; authentication information of the datagram and the encrypting method of the authentication information, from the Authorization included in the HTTP header; the valid date of the datagram, from the Expires included in the HTTP header, as the identifying information.
In the above-mentioned construction, the attribute detecting means checks at least one of the following items: the required items of the datagram, from the Pragma included in the HTTP header of a received datagram; cache control information of the datagram, from the Cache-Control included in the HTTP header; execution requirements of the Method, from the If-Modified-Since included in the HTTP header; execution requirements of the Method, from the If-Unmodified-Since included in the HTTP header; a URI required by a client, from the request URI within a request line (Request-Line) included in the HTTP header; and the final updating time of the HTTP data, from the Last-Modified included in the HTTP header, as the identifying information.
In the above-mentioned construction, the attribute detecting means checks at least one of the following items: a referred URI (Uniform Resource Identifiers) of the HTTP data, from the Referer included in the HTTP header of a received datagram; a URI in which the HTTP data is located, from the Location included in the HTTP header; a destination URI and source domain name of the datagram, from the Forwarded included in the HTTP header; the base URI of the datagram, from the Content-Base included in the HTTP header; a URI in which the HTTP data is located, from the Content-Location included in the HTTP header; a method of requiring HTTP data from a user program, from the Method included in the HTTP header, as the identifying information.
In the above-mentioned construction, the attribute detecting means checks at least one of the following items: the Version in which the datagram is MIME (Multipurpose Internet Mail Extensions), from the MIME-Version included in the HTTP header of a received datagram; the media attribute a user program permits, from the Accept included in the HTTP header; a character set a user program permits, from the Accept-Charset included in the HTTP header; a coding method of datagrams a user program permits, from the Accept-Encoding included in the HTTP header; a datagram language a user program permits, from the Accept-Language included in the HTTP header; an encoding method of datagrams, from the Content-Encoding included in the HTTP header; and a datagram language, from the Content-Language included in the HTTP, as the identifying information.
In the above-mentioned construction, the attribute detecting means checks at least one of the following items: response content of a server replying to a request from a user program, from the Status Code included in the HTTP header of a received datagram; authentication information required by a server, from the WWW-Authenticate included in the HTTP header; authentication information required by a proxy server, from the Proxy-Authenticate included in the HTTP header; authentication information of the datagram, from the Proxy-Authorization included in the HTTP header, as the identifying information.
In the above-mentioned construction, the attribute detecting means checks at least one of the following items: the Method the HTTP data permits, from Allow included in the HTTP header of a received datagram; the Range requiring method a server permits, from the Accept-Range included in the HTTP header; a host and its port number that requires the HTTP data, from the Host included in the HTTP header; HTTP data getting requirements, from the If-Range included in the HTTP header; the Method a server permits, from the Public included in the HTTP header; and the Range of the HTTP data a user program requires, from the Range included in the HTTP header, as the identifying information.
In the above-mentioned construction, the attribute detecting means checks at least one of the following items: data length of the datagram, from the Content-Length included in the HTTP header of a received datagram; connection state of the datagram, from the Connection included in the HTTP header; reply information of a server replying to a request of a user program, from the Warning included in the HTTP header; possible date of obtaining the required HTTP data, from the Retry-After included in the HTTP header; the protocol Version, host name and using software name of a gateway or a proxy server relaying packets, from the Via included in the HTTP header; and a coding method of datagrams, from the Transfer-Encoding included in the HTTP header, as the identifying information.
In another preferred construction, assuming that the layer 3 is an IP, the layer 4 is a TCP or UDP (User Datagram Protocol), the attribute detecting means checks protocol number of the IP header of the datagram or the header value next to the IP header, and knowing that the layer 4 is the TCP or UDP, checks one or some identifying information included in the TCP header or UDP header of the received data as the identifying information, and when the datagram is transferred to a protocol end system, the communication quality deciding means decides quality of a connection of the layer 3 and beneath suitable for a connection derived from the datagram and performs datagram transfer processing based on the quality of the connection, hence to change the connection quality of a datagram to be transferred, so to do a transfer control.
In the above-mentioned construction, the attributed detecting means checks the xe2x80x9cchecksumxe2x80x9d field included in the UDP header of the received datagram, as the identifying information.
In another preferred construction, assuming that the layer 3 is an IP, the layer 4 is a TCP or UDP, and the layer 5 is a DNS or TFTP or SNMP, the attribute detecting means checks protocol number of the IP header of the datagram, or the same protocol number and port address within the TCP or UDP protocol header of the datagram, or header value next to the IP header of the datagram, or the next header value and port address of the TCP or UDP protocol header of the datagram, and knowing that the layer 5 is the DNS or TFTP or SNMP, checks one or some identifying information included in the DNS message, the DNS message and the TCP or UDP header, the TFTP message, the UDP header and the TFTP message, the SNMP message, or the UDP header and the SNMP message of the received data as the identifying information, and when the datagram is transferred to a protocol end system, the communication quality deciding means decides quality of a connection of the layer 3 and beneath suitable for a connection derived from the datagram and performs datagram transfer processing based on the quality of the connection, hence to change the connection quality of a datagram to be transferred, so to do a transfer control.
In the above-mentioned construction, the attribute detecting means checks the presence of the xe2x80x9cquery typexe2x80x9d in the DNS message of the received datagram, as the identifying information.
In the above-mentioned construction, the attribute detecting means checks xe2x80x9copcodexe2x80x9d included in the TFTP message of the received datagram as the identifying information.
In the above-mentioned construction, the attribute detecting means checks the PDU type included in the SNMP message of the received datagram as the identifying information.
In another preferred construction, assuming that the layer 3 is an IP, the layer 4 is a TCP, and the layer 5 is an FTP or SNMP, the attribute detecting means checks protocol number of the IP header of the datagram, or the same protocol number and port address within the TCP protocol header of the datagram, or header value next to the IP header of the datagram, or the next header value and port address of the TCP protocol header of the datagram, and knowing that the layer 5 is the FTP or SMTP, checks one or some identifying information included in the FTP Command, the FTP Reply, the TCP header and the FTP Command or FTP Reply, the SMTP Command, SMTP Reply Code, the SMTP header, the TCP header and the SMTP Command or SMTP Reply Code or the SMTP header of the received data as the identifying information, and when the datagram is transferred to a protocol end system, the communication quality deciding means decides quality of a connection of the layer 3 and beneath suitable for a connection derived from the datagram and performs datagram transfer processing based on the quality of the connection, hence to change the connection quality of a datagram to be transferred, so to do a transfer control.
In another preferred construction, a physical layer of transfer is of the ATM transfer method, individual VCs (Virtual Circuit) are assigned to the respective connection qualities of ATM as the datagram transfer processing according to each connection quality so to transfer datagrams, and parameters for communication quality control depending on the connection qualities are set to the respective VCs, thereby performing transfer depending on the attribute of media derived from a datagram.
In another preferred construction, the communication quality deciding means sets connection-setting robustness selectively depending on a connection-setting message for setting a connection, in addition to the above communication qualities.
In another preferred construction, the communication quality deciding means decides at least one of a control parameter relative to an optimum bandwidth, an optimum control parameter relative to delay time including the maximum delay time and the delay time fluctuation amount, an optimum control parameter relative to data loss including buffer amount, a control parameter relative to the optimum accounting information, and a control parameter relative to the optimum security quality, as the communication quality of the connection.
In another preferred construction, the communication quality deciding means decides at least one of the optimum destination of a datagram and the optimum destination path of a datagram, according to the communication quality of the connection.
In another preferred construction, the communication quality deciding means, according to the communication quality of the connection, transfers the datagram after coding or encoding the same, by use of a physical line of the exclusive use for the connection if necessary, deletes unnecessary information within the datagram, decreases the size of the datagram by compression, and performs tunneling of the datagram.
In another preferred construction, the communication quality deciding means sets connection-setting priority or connection-transfer priority, as the communication quality of connection, according to the attribute information, and connection-setting processing having the higher connection-setting priority is preferentially executed and a datagram of a connection having the higher connection-transfer priority is preferentially transferred.
According to another aspect of the invention, a communication quality control system for realizing an optimum datagram transfer function for connection quality corresponding to attributes of communication, comprises
network end systems for respectively terminating a protocol layer of an existent data network;
protocol end systems for respectively terminating the protocol layer 3 and beneath based on quality of communication of a received datagram; and
a communication datagram transfer system for transferring the datagram to a specified end system according to quality information of a connection corresponding to communication attributes derived from the information of the respective protocol layers 4, 5, 6, and 7 or one of them included in a datagram received by an arbitrary end system,
the communication datagram transfer system including
attribute detecting means of checking identifying information included in the information of the respective protocol layers 4, 5, 6, and 7 or one of them included in a datagram received by an arbitrary end system, hence to take out the communication attribute information of the respective protocol layers, and
communication quality deciding means for, when a datagram is received by a protocol end system, deciding communication quality for sending the datagram according to a set of the communication attribute information of the respective protocol layers derived from the datagram and the quality information of connection, and notifying the communication quality to the protocol end system.
Other objects, features and advantages of the present invention will become clear from the detailed description given herebelow.